export class Util {
    /**
     * 设置缓存
     * @param data
     */
    static setCache(data) {
        uni.setStorageSync(data.key, data.value);
    };

    /**
     * 同步获得缓存数据
     * @param key
     */
    static getCache(key) {
        const value = uni.getStorageSync(key);
        return value;
    }

    /**
     * 清除所有缓存
     */
    static clearCache() {
        uni.clearStorage();
    }

	/**
	 * 字符串转时间
	 */
	static parseDate(date){
		return new Date(Date.parse(date));
	}
    /**
     * 时间格式化
     * @param date
     * @param option
     */
    static formatDate(date, option) {
        const year = date.getFullYear()
        const month = date.getMonth() + 1
        const day = date.getDate()

        const hour = function () {
            return date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
        }
        const minute = function () {
            return date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
        }
        const second = function () {
            return date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
        }
        //获取 年月日
        if (option == 'YY-MM-DD') return " " + year + "年" + month + "年" + day + "日";
        //获取年月
        if (option == 'YY-MM') return " " + year + "-" + month;
        //获取年
        if (option == 'YY') return " " + year;
        //获取月
        if (option == 'MM') return " " + month;
        //获取日
        if (option == 'DD') return " " + day;
        //获取昨天
        if (option == 'yesterday') return " " + (day - 1);
        //获取时分秒
        if (option == 'hh-mm-ss') return " " + hour() + ":" + minute() + ":" + second();
        //获取时分
        if (option == 'hh-mm') return " " + hour() + ":" + minute();
        //获取分秒
        if (option == 'mm-ss') return minute() + ":" + second();
        //获取分
        if (option == 'mm') return minute() + "";
        //获取秒
        if (option == 'ss') return second() + "";
        //默认时分秒年月日
        return year + '-' + month + '-' + day + ' ' + hour() + ':' + minute() + ":" + second();
    }

    /**
     * 是否为空
     * @param str
     */
    static isEmpty(str) {
        if (!str) {
            return true;
        }
        return str.toString().trim().length === 0;

    }

    /**
     * 验证手机号码格式
     * @param phone
     */
    static isPhone(phone) {
        if (this.isEmpty(phone)) {
            return false;
        }
        let reg = /^1(3|4|5|6|7|8|9)\d{9}$/;
        if (reg.test(phone)) {
            return true;
        }
        return false;
    }
}
